//package com.youth.framework.util;
//
//import java.util.Iterator;
//import java.util.Map;
//
//import org.springframework.validation.BindingResult;
//import org.springframework.web.servlet.mvc.support.RedirectAttributes;
//
//
//public abstract class RedirectControl
//{
//
//	public static String getBindResultModelKey(BindingResult result)
//	{
//		return null == result ? "" : BindingResult.MODEL_KEY_PREFIX
//				+ result.getObjectName();
//	}
//
//	public static void showErrorForm(BindingResult result,
//			RedirectAttributes attr, Object obj)
//	{
//		flashBindingResult(result, attr);
//		flashAttibute(attr, obj);
//	}
//
//	public static void showErrorForm(BindingResult result,
//			RedirectAttributes attr, String attrKey, String attrValue)
//	{
//		flashBindingResult(result, attr);
//		flashAttibute(attr, attrKey, attrValue);
//	}
//	public static void showErrorForm(Errors result, RedirectAttributes attr,
//			String attrKey, String attrValue) {
//		flashAttibute(attr, attrKey, attrValue);
//		flashAttibute(attr, Errors.ERROR_KEY, result);
//		
//	}
//
//	public static void showErrorForm(BindingResult result,
//			RedirectAttributes attr, Map<String, ?> objMap)
//	{
//		flashBindingResult(result, attr);
//		flashAttibute(attr, objMap);
//	}
//
//	public static void showErrorForm(
//			BindingResult result, RedirectAttributes attr, Object obj,
//			String errorCode, String defaultMessage)
//	{
//		result.reject(errorCode, defaultMessage);
//		showErrorForm(result, attr, obj);
//	}
//
//	public static void showErrorForm(
//			BindingResult result, RedirectAttributes attr,
//			Map<String, ?> objMap, String errorCode, String defaultMessage)
//	{
//		result.reject(errorCode, defaultMessage);
//		showErrorForm(result, attr, objMap);
//	}
//
//	public static void showErrorForm(
//			BindingResult result, RedirectAttributes attr, String attrKey,
//			String attrValue, String errorCode, String defaultMessage)
//	{
//		result.reject(errorCode, defaultMessage);
//		showErrorForm(result, attr, attrKey, attrValue);
//	}
//
//	
//
//	public static void showErrorView(RedirectAttributes attr,
//			String attrValue)
//	{
//		showResultView(attr, Constants.FAIL_TIP_KEY, attrValue);
//	}
//	public static void showSuccessView(RedirectAttributes attr,
//			 String attrValue)
//	{
//		showResultView(attr, Constants.SUCCESS_TIP_KEY, attrValue);
//	}
//
//	public static void showSuccessView(RedirectAttributes attr,
//			Map<String, ?> objMap)
//	{
//		flashAttibute(attr, objMap);
//	}
//	public static void showSuccessView(RedirectAttributes attr,
//			Object object)
//	{
//		flashAttibute(attr, object);
//	}
//
//	/**
//	 * 展示结果页面，可以是成功的提示，也可以是失败的提示。
//	 * 
//	 * @param attr
//	 * @param attrKey
//	 *            成功失败的key：successtip、failtip
//	 * @param attrValue
//	 *            提示信息
//	 * @return
//	 */
//	public static void showResultView(RedirectAttributes attr,
//			String attrKey, String attrValue)
//	{
//		flashAttibute(attr, attrKey, attrValue);
//	}
//
//	private static void flashBindingResult(BindingResult result,
//			RedirectAttributes attr)
//	{
//		attr.addFlashAttribute(getBindResultModelKey(result), result);
//	}
//
//	private static void flashAttibute(RedirectAttributes attr, Object obj)
//	{
//		attr.addFlashAttribute(obj);
//	}
//
//	private static void flashAttibute(RedirectAttributes attr, String attrKey,
//			String attrValue)
//	{
//		attr.addFlashAttribute(attrKey, attrValue);
//	}
//	private static void flashAttibute(RedirectAttributes attr, String attrKey,
//			Object attrValue)
//	{
//		attr.addFlashAttribute(attrKey, attrValue);
//	}
//
//	@SuppressWarnings("unchecked")
//	private static void flashAttibute(RedirectAttributes attr,
//			Map<String, ?> objMap)
//	{
//		if (null != objMap && !objMap.isEmpty())
//		{
//			Iterator<?> iterator = objMap.entrySet().iterator();
//			while (iterator.hasNext())
//			{
//				Map.Entry<String, ?> elem = (Map.Entry<String, ?>) iterator
//						.next();
//				attr.addFlashAttribute(elem.getKey(), elem.getValue());
//			}
//		}
//	}
//
//
//}
